/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.demister.at.model;

/**
 *
 * @author rock
 */
public abstract class BlockDecorator {

    protected Block block;

    /**
     * @return the block
     */
    public Block getBlock() {
        return block;
    }

    /**
     * @param block the block to set
     */
    public void setBlock(Block block) {
        this.block = block;
    }

    public abstract boolean isRemoveType();

    public abstract boolean isRemovableSameType(Block b);

    public abstract boolean isCombinableSameType(Block b);

    public abstract boolean isSameMajorType(Block b);

    public abstract boolean isSameType(Block b);

    public abstract boolean isDisable();

    public abstract int getDisableCount();

    public abstract int setDisableCount(int count);

    public abstract int getMajorType();

    public abstract int getMinorType();
}
